home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha Extra 2004 January / CyberMycha Extra 1-2004 (Poland) (Disc 2).bin / Pippi / gmfg.dir / Internal_34_moveThings.ls < prev    next >
Encoding:
Text File  |  2001-09-03  |  3.5 KB  |  158 lines

  1. property meSprite, firstPos, mPos, foodType, mouthRect, fgSprite, meSndThing, originLocZ, dragSndTrig, dragOnMe, occupied, firstRot, dividum, goalLoc, moveCnt
  2. global gmObject, sndObject
  3.  
  4. on autoMove me, pLoc, pRot
  5.   occupied = 1
  6.   if pRot <> VOID then
  7.     firstRot = meSprite.rotation
  8.     divideThis = firstRot - pRot
  9.     dividum = divideThis / 5
  10.   end if
  11.   meSprite.locZ = 100
  12.   goalLoc = pLoc
  13. end
  14.  
  15. on autoMoveX me
  16.   if moveCnt < 4 then
  17.     moveCnt = moveCnt + 1
  18.     t = the ticks + 3
  19.     repeat while the ticks < t
  20.     end repeat
  21.     firstLoc = meSprite.loc
  22.     middleLoc = goalLoc + ((firstLoc - goalLoc) / 2)
  23.     meSprite.loc = middleLoc
  24.     if dividum <> 0 then
  25.       meSprite.rotation = meSprite.rotation + dividum
  26.     end if
  27.     updateStage()
  28.   else
  29.     moveCnt = 0
  30.     dividum = 0
  31.     meSprite.rotation = 0
  32.     occupied = 0
  33.     meSprite.locZ = me.spriteNum
  34.     meSprite.loc = goalLoc
  35.     updateStage()
  36.   end if
  37. end
  38.  
  39. on beginSprite me
  40.   meSprite = sprite(me.spriteNum)
  41.   originLocZ = meSprite.locZ
  42.   firstPos = meSprite.loc
  43.   meSprite.member = member(gmObject.initSprite(me.spriteNum - 10), 1)
  44.   foodType = value(meSprite.member.name)[1]
  45.   meSndThing = value(meSprite.member.name)[2]
  46.   fgSprite = sprite(10)
  47.   mouthRect = rect(373, 251, 444, 296)
  48.   dragOnMe = 0
  49.   occupied = 0
  50. end
  51.  
  52. on mouseDown me
  53.   if dragOnMe = 0 then
  54.     mPos = the mouseLoc - firstPos
  55.     dragOnMe = 1
  56.     meSprite.locZ = 155
  57.     dragSndTrig = 0
  58.     gmObject.dragOn = 1
  59.     if the frame < 8 then
  60.       fgSprite.gotoFrame(10)
  61.       fgSprite.stop()
  62.     end if
  63.   end if
  64. end
  65.  
  66. on exitFrame me
  67.   if occupied = 1 then
  68.     autoMoveX(me)
  69.   end if
  70.   if dragOnMe = 1 then
  71.     if dragSndTrig = 0 then
  72.       if foodType > 1 then
  73.         sndObject.respondSnd(2, 4, 1, 1)
  74.         dragSndTrig = 1
  75.       end if
  76.     end if
  77.     meSprite.loc = the mouseLoc - mPos
  78.     updateStage()
  79.   end if
  80. end
  81.  
  82. on mouseUp me
  83.   if dragOnMe = 1 then
  84.     meSprite.locZ = originLocZ
  85.     if the frame < 8 then
  86.       if intersect(meSprite.rect, mouthRect) > rect(0, 0, 0, 0) then
  87.         gmObject.soundThing = meSndThing
  88.         if gmObject.testFood(foodType) < 4 then
  89.           go(gmObject.originFrame + gmObject.belly + (5 * foodType))
  90.         else
  91.           go(gmObject.originFrame + gmObject.belly + 20)
  92.         end if
  93.         play frame fgSprite
  94.         eat(me)
  95.       else
  96.         autoMove(me, firstPos)
  97.         play frame fgSprite
  98.       end if
  99.       updateStage()
  100.     else
  101.       autoMove(me, firstPos)
  102.     end if
  103.     gmObject.dragOn = 0
  104.     dragOnMe = 0
  105.   end if
  106. end
  107.  
  108. on mouseUpOutSide me
  109.   if dragOnMe = 1 then
  110.     meSprite.locZ = originLocZ
  111.     if the frame < 8 then
  112.       if intersect(meSprite.rect, mouthRect) > rect(0, 0, 0, 0) then
  113.         gmObject.soundThing = meSndThing
  114.         if gmObject.testFood(foodType) < 4 then
  115.           go(gmObject.originFrame + gmObject.belly + (5 * foodType))
  116.         else
  117.           go(gmObject.originFrame + gmObject.belly + 20)
  118.         end if
  119.         play frame fgSprite
  120.         eat(me)
  121.       else
  122.         autoMove(me, firstPos)
  123.         play frame fgSprite
  124.       end if
  125.       updateStage()
  126.     else
  127.       autoMove(me, firstPos)
  128.     end if
  129.     gmObject.dragOn = 0
  130.     dragOnMe = 0
  131.   end if
  132. end
  133.  
  134. on eat me
  135.   gmObject.lastThingEaten = me.spriteNum
  136.   meSprite.loc = gmObject.mouthLoc
  137.   repeat while meSprite.scale > 10
  138.     meSprite.scale = meSprite.scale - 20
  139.     meSprite.rotation = meSprite.rotation + 45
  140.     updateStage()
  141.   end repeat
  142.   meSprite.loc = point(1000, 1000)
  143.   meSprite.scale = 100
  144.   meSprite.rotation = 0
  145. end
  146.  
  147. on mouseEnter me
  148.   cursor([500, 501])
  149. end
  150.  
  151. on mouseLeave me
  152.   cursor(0)
  153. end
  154.  
  155. on endSprite me
  156.   cursor(0)
  157. end
  158.